Rank SIFT

Rank SIFT algorithm is the revised SIFT (Scale-invariant feature transform) algorithm which uses ranking techniques to improve the performance of the SIFT algorithm. In fact, ranking techniques can be used in key point localization or descriptor generation of the original SIFT algorithm.

Contents

SIFT With Ranking Techniques

Ranking the Key Point

Ranking techniques can be used to keep certain number of key points which are detected by SIFT detector.[1]

Suppose \left \{ I_m, m=0,1,...M \right \} is a training image sequence and p is a key point obtained by SIFT detector. The following equation determines the rank of p in the key point set. Larger value of R(p) corresponds to the higher rank of p.

 R( p \in I_0)=\sum_m I(\min_{ q \in I_m}{\lVert H_m(p)-q \rVert}_2 < \epsilon),

where I(.) is the indicator function, H_m is the homography transformation from I_0 to I_m, and \epsilon is the threshold.

Suppose x_i is the feature descriptor of key point p_i defined above. So x_i can be labeled with the rank of p_i in the feature vector space. Then the vector set X_{feature space}=\left \{ \vec x_1, \vec x_2,...\right \} containing labeled elements can be used as a training set for the Ranking SVM[2] problem.

The learning process can be represented as follows:


\begin{array}{lcl}
minimize: V(\vec w) = {1 \over 2} \vec w \cdot \vec w \\
s.t.\\ \begin{array}{lcl} 
 \forall\ \vec x_i\ and\ \vec x_j \in X_{feature space},\\
 \vec w^T(\vec x_i -\vec x_j)\geqq 1\quad if\ R(p_i \in I_0 )>R(p_j \in I_0).
\end{array}
\end{array}

The obtained optimal \vec w^* can be used to order the future key points.

Ranking the Elements of Descriptor

Ranking techniques also can be used to generate the key point descriptor.[3]

Suppose  {\vec X} = \left \{ x_1,...,x_N \right \} is the feature vector of of a key point and the elements of  {R} = \left \{r_1,...r_N \right \} is the corresponding rank of x_i in X. r_i is defined as follows:

 r_i = \left\vert \left \{x_k:x_k \geqq x_i \right \} \right \vert .

After transforming original feature vector \vec X to the ordinal descriptor \vec R, the difference between two ordinal descriptors can be evaluated in the following two measurements.

The spearman correlation coefficient also refers to Spearman's rank correlation coefficient. For two ordinal descriptors \vec R and \vec R^', it can be proved that

 \rho(\vec R, \vec R^') = 1- {6\sum_{i=1}^N(r_i-r_i^')^2 \over N(N^2-1)}

The Kedall's Tau also refers to Kendall tau rank correlation coefficient. In the above case, the Kedall's Tau between R and R^' is

\tau(\vec R, \vec R^')= {2\sum_{i=1}^N\sum_{j=i%2B1}^Ns(r_i-r_j, r_i^'-r_j^')\over N(N-1)},

 where \quad s(a,b) =
\begin{cases}
 1, & \text{if } sign(a) = sign(b) \\
 -1, & o.w.
\end{cases}

Reference

  1. ^ Bing Li; Rong Xiao; Zhiwei Li; Rui Cai; Bao-Liang Lu; Lei Zhang; "Rank-SIFT: Learning to rank repeatable local interest points",Computer Vision and Pattern Recognition (CVPR), 2011
  2. ^ Joachims, T. (2003), "Optimizing Search Engines using Clickthrough Data", Proceedings of the ACM Conference on Knowledge Discovery and Data Mining
  3. ^ Toews, M.; Wells, W."SIFT-Rank: Ordinal Description for Invariant Feature Correspondence",Computer Vision and Pattern Recognition, 2009.